module.exports = {
    publicPath: process.env.NODE_ENV === 'production' // 项目根路径 分开发生产环境和正式环境
        ?
        '/app/' // 正式环境
        :
        '/', // 开发生产环境
    outputDir: 'dist', // 项目打包输出路径
    filenameHashing: true, // 打包文件名是否输出hash值
    productionSourceMap: true, // 代码 正式环境是否要source map （便于调试找到问题源码位置）
    // crossorigin:'', // html入口文件外部请求资源跨域设置
    css: { // 样式加载配置
        modules: false, // 启用 CSS Modules 文件后缀添加.module视为使用
        sourceMap: true, // 样式文件 正式环境是否要source map 
        // loaderOptions: { // 各种样式加载器loader内部配置
        //     css: {
        //         // 这里的选项会传递给 css-loader
        //     },
        //     postcss: {
        //         // 这里的选项会传递给 postcss-loader
        //     }
        // },
    },
    devServer: {
        // 对webpack devServer 封装多一层兼容所有webpack devServer配置
        proxy: {
            '/api': { // api是代理根地址
                target: 'localhost', //代理目标地址
                // ws: true,
                changeOrigin: true,
                pathRewrite: {
                    '^/api': '' // api在代理时转义成空字符
                }
            },

        }
    },
    // pluginOptions: { // 这是一个不进行任何 schema 验证的对象，因此它可以用来传递任何第三方插件选项
    //     foo: {
    //         // 插件可以作为 `options.pluginOptions.foo` 访问这些选项。
    //     }
    // },

    // configureWebpack: { // 原生webpack配置项可以覆盖掉部分非vue配置项

    // },
    // chainWebpack: config => { // 链式操作webpack配置项可以覆盖掉所有配置项
    //     config.module
    //         .rule('vue')
    //         .use('vue-loader')
    //         .loader('vue-loader')
    //         .tap(options => {
    //             // 修改它的选项...
    //             return options
    //         })
    // },

    // pages: {  // 多页面应用配置 如果不用不需要配置
    //     index: {
    //       // page 的入口
    //       entry: 'src/index/main.js',
    //       // 模板来源
    //       template: 'public/index.html',
    //       // 在 dist/index.html 的输出
    //       filename: 'index.html',
    //       // 当使用 title 选项时，
    //       // template 中的 title 标签需要是 <title><%= htmlWebpackPlugin.options.title %></title>
    //       title: 'Index Page',
    //       // 在这个页面中包含的块，默认情况下会包含
    //       // 提取出来的通用 chunk 和 vendor chunk。
    //       chunks: ['chunk-vendors', 'chunk-common', 'index']
    //     },
    //     // 当使用只有入口的字符串格式时，
    //     // 模板会被推导为 `public/subpage.html`
    //     // 并且如果找不到的话，就回退到 `public/index.html`。
    //     // 输出文件名会被推导为 `subpage.html`。
    //     subpage: 'src/subpage/main.js'
    //   },

    // pwa:{ // 一项新的浏览器功能技术 可以提供类似原生应用的服务 （看情况使用）

    // },

}